/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.cpal.entrenamiento.dao.impl;

import com.cpal.entrenamiento.dao.IRimaColumnaDAO;
import com.cpal.entrenamiento.entity.RimaColumna;
import java.util.HashMap;
import java.util.Map;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

/**
 *
 * @author onoel
 */
@Repository
public class RimaColumnaDAO extends SqlMapClientDaoSupport implements IRimaColumnaDAO {

    @Override
    public void insertarRimaColumna(RimaColumna rimaColumna) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("codigoEstructura", rimaColumna.getCodigo());
        parameterMap.put("palabraA1", rimaColumna.getPalabraA1().getCodigo());
        parameterMap.put("palabraA2", rimaColumna.getPalabraA2().getCodigo());
        parameterMap.put("palabraA3", rimaColumna.getPalabraA3().getCodigo());
        parameterMap.put("palabraA4", rimaColumna.getPalabraA4().getCodigo());
        parameterMap.put("palabraB1", rimaColumna.getPalabraB1().getCodigo());
        parameterMap.put("palabraB2", rimaColumna.getPalabraB2().getCodigo());
        parameterMap.put("palabraB3", rimaColumna.getPalabraB3().getCodigo());
        parameterMap.put("palabraB4", rimaColumna.getPalabraB4().getCodigo());
        parameterMap.put("solucionA1", rimaColumna.getSolucionA1());
        parameterMap.put("solucionA2", rimaColumna.getSolucionA2());
        parameterMap.put("solucionA3", rimaColumna.getSolucionA3());
        parameterMap.put("solucionA4", rimaColumna.getSolucionA4());

        getSqlMapClientTemplate().insert("insertarRimaColumna", parameterMap);
    }

    @Override
    public void actualizarRimaColumna(RimaColumna rimaColumna) throws DataAccessException {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("codigoEstructura", rimaColumna.getCodigo());
        parameterMap.put("palabraA1", rimaColumna.getPalabraA1().getCodigo());
        parameterMap.put("palabraA2", rimaColumna.getPalabraA2().getCodigo());
        parameterMap.put("palabraA3", rimaColumna.getPalabraA3().getCodigo());
        parameterMap.put("palabraA4", rimaColumna.getPalabraA4().getCodigo());
        parameterMap.put("palabraB1", rimaColumna.getPalabraB1().getCodigo());
        parameterMap.put("palabraB2", rimaColumna.getPalabraB2().getCodigo());
        parameterMap.put("palabraB3", rimaColumna.getPalabraB3().getCodigo());
        parameterMap.put("palabraB4", rimaColumna.getPalabraB4().getCodigo());
        parameterMap.put("solucionA1", rimaColumna.getSolucionA1());
        parameterMap.put("solucionA2", rimaColumna.getSolucionA2());
        parameterMap.put("solucionA3", rimaColumna.getSolucionA3());
        parameterMap.put("solucionA4", rimaColumna.getSolucionA4());

        getSqlMapClientTemplate().update("actualizarRimaColumna", parameterMap);
    }

    @Override
    public RimaColumna buscarRimaColumna(RimaColumna rimaColumna) {
        Map<String, Object> parameterMap = new HashMap<String, Object>();
        parameterMap.put("codigoEstructura", rimaColumna.getCodigo());
        
        return (RimaColumna) getSqlMapClientTemplate().queryForObject("buscarRimaColumna", parameterMap);
    }
}
